From 70970146ca06b51228996171f130b7c20d39b364 Mon Sep 17 00:00:00 2001 From: Rui Matos Date: Fri, 16 Dec 2011 19:49:31 +0000 Subject: [PATCH] cellrenderertoggle: Use the cell renderer's state flags as a base for rendering This allows us to pick the underlying widget's state flags that we don't explicitly set here. --- gtk/gtkcellrenderertoggle.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gtk/gtkcellrenderertoggle.c b/gtk/gtkcellrenderertoggle.c index 3b4a70ec18..d75a5f8dc3 100644 --- a/gtk/gtkcellrenderertoggle.c +++ b/gtk/gtkcellrenderertoggle.c @@ -363,10 +363,12 @@ gtk_cell_renderer_toggle_render (GtkCellRenderer *cell, if (width <= 0 || height <= 0) return; + state = gtk_cell_renderer_get_state (cell, widget, flags); + if (!priv->activatable) - state = GTK_STATE_FLAG_INSENSITIVE; - else - state = gtk_cell_renderer_get_state (cell, widget, flags); + state |= GTK_STATE_FLAG_INSENSITIVE; + + state &= ~(GTK_STATE_FLAG_INCONSISTENT | GTK_STATE_FLAG_ACTIVE); if (priv->inconsistent) state |= GTK_STATE_FLAG_INCONSISTENT; -- 2.30.2